package com.tianji.remark.service;

import com.tianji.remark.domain.dto.LikeRecordFormDTO;
import com.tianji.remark.domain.po.LikedRecord;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 点赞记录表 服务类
 * </p>
 *
 * @author fx
 * @since 2024-08-27
 */
public interface ILikedRecordService extends IService<LikedRecord> {

    /**
     * 01 点赞或者取消点赞（day06-随堂-01）
     *
     * @param formDTO
     */
    void LikeOrUnlike(LikeRecordFormDTO formDTO);

    /**
     * 02 根据业务id集合查询点赞状态（day06-随堂-02）
     * 查询当前用户是否已经点赞
     *
     * @param bizIds
     * @return
     */
    Set<Long> isliked(List<Long> bizIds);

    /**
     * 03 定时统计点赞次数，并发送消息，用于持久化点赞次数（day06-随堂-03）
     * @param bizType
     * @param maxBizSize
     */
    void readLikedTimesAndSendMessage(String bizType, Integer maxBizSize);
}
